package app;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.List;

import Management.ManagementEmpleado;
import Management.ManagementHojaDeRuta;
import Management.ManagementSucursal;
import paquetes.interfazRemota.AdmSucursalesController;
import paquetes.negocioVO.EmpleadoVO;
import paquetes.negocioVO.HojaDeRutaVO;
import paquetes.negocioVO.SucursalVO;


public class Sucursales extends UnicastRemoteObject implements AdmSucursalesController {

	protected Sucursales() throws RemoteException {
		super();
		// TODO Auto-generated constructor stub
	}

	@Override
	public List<SucursalVO> listarSucursales() throws RemoteException {
		return ManagementSucursal.getInstancia().obtenerSucursales();
	}

	@Override
	public void crearSucursal(String nombre, String direccion, float latitud,
			float longitud) throws RemoteException {
		ManagementSucursal.getInstancia().guardarSucursal(nombre, direccion, latitud, longitud);
		
	}

	@Override
	public void editarSucursal(SucursalVO s) throws RemoteException {
		ManagementSucursal.getInstancia().editarSucursal(s);
	}

	@Override
	public List<HojaDeRutaVO> listarHojasDeRuta(int idSuc){	
		return ManagementHojaDeRuta.getInstancia().listarHojasDeRuta(idSuc);
	}

	@Override
	public void crearHojaDeRuta(HojaDeRutaVO hoja, int sucorigen, int sucdestino) throws RemoteException {
		ManagementHojaDeRuta.getInstancia().crearHojaDeRuta(hoja, sucorigen, sucdestino);
		
	}

	@Override
	public void definirHojaDeRutaActiva(int idHoja) throws RemoteException {
		ManagementHojaDeRuta.getInstancia().definirActiva(idHoja);
		
	}

	@Override
	public List<EmpleadoVO> listarEmpleados(int idSucursar)
			throws RemoteException {
		return ManagementEmpleado.getInstancia().obtenerEmpleados();
		
	}

	@Override
	public void crearEmpleado(String nombre, String apellido, int posicion,
			int activo, int suc) throws RemoteException {
		
		System.out.println(nombre);
		System.out.println(apellido);
		System.out.println(suc);
		
		ManagementEmpleado.getInstancia().guardarEmpleado(nombre,apellido,posicion,activo,suc);
		
	}

	@Override
	public void editarEmpleado(int idSuc,EmpleadoVO e) throws RemoteException {
		ManagementEmpleado.getInstancia().editarEmpleado(idSuc,e);
		
	}

	@Override
	public SucursalVO obtenerSucursal(int idSuc) throws RemoteException {
		return ManagementSucursal.getInstancia().obtenerSucursal(idSuc);
		
	}

	@Override
	public void bajaSucursal(int id) throws RemoteException {
		ManagementSucursal.getInstancia().bajaSucursal(id);
		
	}

	@Override
	public EmpleadoVO obtenerEmpleado(int id) throws RemoteException {
		return ManagementEmpleado.getInstancia().obtenerEmpleado(id);
	}

	/**
	 * 
	 */




}
